#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
//int strStr(char* haystack, char* needle) {
//    int flag = -1;
//    int ret = 0;
//    int len = strlen(needle);
//    int lenHay = strlen(haystack);
//    if (len > lenHay)
//    {
//        return flag;
//    }
//    else {
//        while (*(haystack + len - 1) != '\0')
//        {
//            if (strncmp(haystack, needle, len) == 0)
//                return ret;
//            haystack++;
//            ret++;
//        }
//    }
//    return flag;
//}
//

//
//int main()
//{
//    char str[] = "This is a simple string";
//    char* pch;
//    pch = strstr(str, "simple");
//    int ret = (int)(pch - str);
//    printf("%d\n", ret);
//    return 0;
//}
//int strStr(char* haystack, char* needle) {
//    int n = strlen(haystack), m = strlen(needle);
//    if (m == 0) {
//        return 0;
//    }
//    int pi[5];
//    pi[0] = 0;
//    for (int i = 1, j = 0; i < m; i++) {
//        while (j > 0 && needle[i] != needle[j]) {
//            j = pi[j - 1];
//        }
//        if (needle[i] == needle[j]) {
//            j++;
//        }
//        pi[i] = j;
//    }
//    for (int i = 0, j = 0; i < n; i++) {
//        while (j > 0 && haystack[i] != needle[j]) {
//            j = pi[j - 1];
//        }
//        if (haystack[i] == needle[j]) {
//            j++;
//        }
//        if (j == m) {
//            return i - m + 1;
//        }
//    }
//    return -1;
//}
//int main()
//{
//    int ret = strStr("leetcode", "leeto");
//    return 0;
//}